/*
 * simulink_blms_acc.h
 *
 * Real-Time Workshop code generation for Simulink model "simulink_blms_acc.mdl".
 *
 * Model version              : 1.1
 * Real-Time Workshop version : 7.5  (R2010a)  25-Jan-2010
 * C source code generated on : Mon Jun 13 14:41:51 2011
 *
 * Target selection: accel.tlc
 * Note: GRT includes extra infrastructure and instrumentation for prototyping
 * Embedded hardware selection: 32-bit Generic
 * Emulation hardware selection:
 *    Differs from embedded hardware (MATLAB Host)
 * Code generation objectives: Unspecified
 * Validation result: Not run
 */
#ifndef RTW_HEADER_simulink_blms_acc_h_
#define RTW_HEADER_simulink_blms_acc_h_
#ifndef simulink_blms_acc_COMMON_INCLUDES_
# define simulink_blms_acc_COMMON_INCLUDES_
#include <stdlib.h>
#include <stddef.h>
#define S_FUNCTION_NAME                simulink_only_sfcn
#define S_FUNCTION_LEVEL               2
#define RTW_GENERATED_S_FUNCTION
#include "rtwtypes.h"
#include "simstruc.h"
#include "fixedpoint.h"
#include "mwmathutil.h"
#endif                                 /* simulink_blms_acc_COMMON_INCLUDES_ */

#include "simulink_blms_acc_types.h"

/* Block signals (auto storage) */
typedef struct {
  real_T B_0_0_0;                      /* '<Root>/From Workspace' */
  real_T B_0_3_0;                      /* '<Root>/From Workspace1' */
  real_T B_0_5_0[16];                  /* '<Root>/Block LMS Filter' */
  real_T B_0_5_1[16];                  /* '<Root>/Block LMS Filter' */
  real_T B_0_12_0;                     /* '<Root>/Constant' */
  real_T B_0_15_0;                     /* '<S1>/Constant' */
  real_T B_0_18_0;                     /* '<S1>/Constant1' */
  real_T B_0_23_0;                     /* '<Root>/Product1' */
  real_T B_0_25_0;                     /* '<Root>/Sum' */
  real_T B_0_8_0;                      /* '<Root>/Unbuffer1' */
} BlockIO;

/* Block states (auto storage) for system '<Root>' */
typedef struct {
  real_T Buffer_CircBuff[32];          /* '<Root>/Buffer' */
  real_T Buffer1_CircBuff[32];         /* '<Root>/Buffer1' */
  real_T BlockLMSFilter_IN_BUFFER_DWORK[528];/* '<Root>/Block LMS Filter' */
  real_T BlockLMSFilter_WGT_IC_DWORK[512];/* '<Root>/Block LMS Filter' */
  real_T Unbuffer_CircBuff[32];        /* '<Root>/Unbuffer' */
  real_T Unbuffer1_CircBuff[32];       /* '<Root>/Unbuffer1' */
  struct {
    void *TimePtr;
    void *DataPtr;
    void *RSimInfoPtr;
  } FromWorkspace_PWORK;               /* '<Root>/From Workspace' */

  struct {
    void *LoggedData;
  } Scope2_PWORK;                      /* '<Root>/Scope2' */

  void * Buffer_IN_BUF_PTR;            /* '<Root>/Buffer' */
  void * Buffer_OUT_BUF_PTR;           /* '<Root>/Buffer' */
  struct {
    void *TimePtr;
    void *DataPtr;
    void *RSimInfoPtr;
  } FromWorkspace1_PWORK;              /* '<Root>/From Workspace1' */

  void * Buffer1_IN_BUF_PTR;           /* '<Root>/Buffer1' */
  void * Buffer1_OUT_BUF_PTR;          /* '<Root>/Buffer1' */
  void * Unbuffer_IN_BUF_PTR;          /* '<Root>/Unbuffer' */
  void * Unbuffer_OUT_BUF_PTR;         /* '<Root>/Unbuffer' */
  struct {
    void *LoggedData;
  } Scope4_PWORK;                      /* '<Root>/Scope4' */

  void * Unbuffer1_IN_BUF_PTR;         /* '<Root>/Unbuffer1' */
  void * Unbuffer1_OUT_BUF_PTR;        /* '<Root>/Unbuffer1' */
  struct {
    void *LoggedData;
  } Scope5_PWORK;                      /* '<Root>/Scope5' */

  struct {
    void *LoggedData;
  } Scope6_PWORK;                      /* '<Root>/Scope6' */

  struct {
    void *LoggedData;
  } ToWorkspace_PWORK;                 /* '<Root>/To Workspace' */

  struct {
    void *LoggedData;
  } Scope1_PWORK;                      /* '<Root>/Scope1' */

  struct {
    void *LoggedData;
  } Scope3_PWORK;                      /* '<Root>/Scope3' */

  int32_T Buffer_bufferLength;         /* '<Root>/Buffer' */
  int32_T Buffer_SHIFT_PER_ELEM;       /* '<Root>/Buffer' */
  int32_T Buffer1_bufferLength;        /* '<Root>/Buffer1' */
  int32_T Buffer1_SHIFT_PER_ELEM;      /* '<Root>/Buffer1' */
  int32_T Unbuffer_bufferLength;       /* '<Root>/Unbuffer' */
  int32_T Unbuffer_SHIFT_PER_ELEM;     /* '<Root>/Unbuffer' */
  int32_T Unbuffer1_bufferLength;      /* '<Root>/Unbuffer1' */
  int32_T Unbuffer1_SHIFT_PER_ELEM;    /* '<Root>/Unbuffer1' */
  struct {
    int_T PrevIndex;
  } FromWorkspace_IWORK;               /* '<Root>/From Workspace' */

  struct {
    int_T PrevIndex;
  } FromWorkspace1_IWORK;              /* '<Root>/From Workspace1' */
} D_Work;

/* Constant parameters (auto storage) */
typedef struct {
  /* Pooled Parameter (Expression: ic)
   * Referenced by:
   *   '<Root>/Block LMS Filter'
   *   '<Root>/Buffer'
   *   '<Root>/Buffer1'
   *   '<Root>/Unbuffer'
   *   '<Root>/Unbuffer1'
   */
  real_T pooled1;
} ConstParam;

/* Parameters (auto storage) */
struct Parameters_ {
  real_T P_0;                          /* Expression: leakage
                                        * Referenced by: '<Root>/Block LMS Filter'
                                        */
  real_T P_1;                          /* Expression: mu
                                        * Referenced by: '<Root>/Block LMS Filter'
                                        */
  real_T P_2;                          /* Expression: -5
                                        * Referenced by: '<Root>/Constant'
                                        */
  real_T P_3;                          /* Expression: start
                                        * Referenced by: '<S1>/Step'
                                        */
  real_T P_4;                          /* Expression: 0
                                        * Referenced by: '<S1>/Step'
                                        */
  real_T P_5;                          /* Expression: slope
                                        * Referenced by: '<S1>/Step'
                                        */
  real_T P_6;                          /* Expression: start
                                        * Referenced by: '<S1>/Constant'
                                        */
  real_T P_7;                          /* Expression: X0
                                        * Referenced by: '<S1>/Constant1'
                                        */
  real_T P_8;                          /* Expression: 1
                                        * Referenced by: '<Root>/Sine Wave1'
                                        */
  real_T P_9;                          /* Expression: 0
                                        * Referenced by: '<Root>/Sine Wave1'
                                        */
  real_T P_10;                         /* Expression: 2*pi*(0.5*25)
                                        * Referenced by: '<Root>/Sine Wave1'
                                        */
  real_T P_11;                         /* Expression: -pi/2
                                        * Referenced by: '<Root>/Sine Wave1'
                                        */
  real_T P_12;                         /* Expression: 0.5
                                        * Referenced by: '<Root>/Sine Wave2'
                                        */
  real_T P_13;                         /* Expression: 0
                                        * Referenced by: '<Root>/Sine Wave2'
                                        */
  real_T P_14;                         /* Expression: 2*pi*50
                                        * Referenced by: '<Root>/Sine Wave2'
                                        */
  real_T P_15;                         /* Expression: -pi/5
                                        * Referenced by: '<Root>/Sine Wave2'
                                        */
};

extern Parameters rtDefaultParameters; /* parameters */

/* Constant parameters (auto storage) */
extern const ConstParam rtConstP;

#endif                                 /* RTW_HEADER_simulink_blms_acc_h_ */
